package com.rcn.domain;

import com.google.common.base.Strings;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.MappedSuperclass;

/**
 *
 * @author Nicolas
 */
@MappedSuperclass
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class Persona {
    private String nombre;
    private String apellido;

    /**
     * @return the nombre
     */
    @Basic
    @Column(name = "nombre")
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        if(Strings.isNullOrEmpty(nombre)){
            throw new IllegalArgumentException("El nombre del paciente debe completarse.");
        }
        this.nombre = nombre;
    }

    /**
     * @return the apellido
     */
    @Basic
    @Column(name = "apellido")
    public String getApellido() {
        return apellido;
    }

    /**
     * @param apellido the apellido to set
     */
    public void setApellido(String apellido) {
        if(Strings.isNullOrEmpty(apellido)){
            throw new IllegalArgumentException("El apellido del paciente debe completarse.");
        }
        this.apellido = apellido;
    }
}
